char *name_description;
int64_t user_version;
bool is_a_template;
+ bool auto_power_on;
struct xen_host_record_opt *resident_on;
int64_t memory_static_max;
int64_t memory_dynamic_max;
xen_vm_get_is_a_template(xen_session *session, bool *result, xen_vm vm);
+/**
+ * Get the auto_power_on field of the given VM.
+ */
+extern bool
+xen_vm_get_auto_power_on(xen_session *session, bool *result, xen_vm vm);
+
+
/**
* Get the resident_on field of the given VM.
*/
xen_vm_set_is_a_template(xen_session *session, xen_vm vm, bool is_a_template);
+/**
+ * Set the auto_power_on field of the given VM.
+ */
+extern bool
+xen_vm_set_auto_power_on(xen_session *session, xen_vm vm, bool auto_power_on);
+
+
/**
* Set the memory/dynamic_max field of the given VM.
*/
{ .key = "is_a_template",
.type = &abstract_type_bool,
.offset = offsetof(xen_vm_record, is_a_template) },
+ { .key = "auto_power_on",
+ .type = &abstract_type_bool,
+ .offset = offsetof(xen_vm_record, auto_power_on) },
{ .key = "resident_on",
.type = &abstract_type_ref,
.offset = offsetof(xen_vm_record, resident_on) },
}
+bool
+xen_vm_get_auto_power_on(xen_session *session, bool *result, xen_vm vm)
+{
+ abstract_value param_values[] =
+ {
+ { .type = &abstract_type_string,
+ .u.string_val = vm }
+ };
+
+ abstract_type result_type = abstract_type_bool;
+
+ XEN_CALL_("VM.get_auto_power_on");
+ return session->ok;
+}
+
+
bool
xen_vm_get_resident_on(xen_session *session, xen_host *result, xen_vm vm)
{
}
+bool
+xen_vm_set_auto_power_on(xen_session *session, xen_vm vm, bool auto_power_on)
+{
+ abstract_value param_values[] =
+ {
+ { .type = &abstract_type_string,
+ .u.string_val = vm },
+ { .type = &abstract_type_bool,
+ .u.bool_val = auto_power_on }
+ };
+
+ xen_call_(session, "VM.set_auto_power_on", param_values, 2, NULL, NULL);
+ return session->ok;
+}
+
+
bool
xen_vm_set_memory_dynamic_max(xen_session *session, xen_vm vm, int64_t dynamic_max)
{